package com.graduate.emos.wx.service;


import cn.hutool.json.JSONObject;
import com.graduate.emos.wx.db.pojo.TbUser;
import org.apache.shiro.crypto.hash.Hash;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Set;

public interface UserService {

    /**
     * 用户注册
     * @param registerCode 注册码
     * @param code 临时授权凭证
     * @param nickname 微信昵称
     * @param photo 微信头像地址
     * @return 用户id
     */
    int registerUser(String registerCode, String code,String nickname, String photo);

    /**
     * 查询用户权限信息
     * @param userId 用户id
     * @return 用户权限信息
     */
    Set<String> searchUserPermissions(int userId);

    /**
     * 用户登录
     * @param code 临时授权字符串
     * @return 用户id
     */
    Integer login(String code);

    /**
     * 根据用户id查询用户信息
     * @param userID 用户id
     * @return TbUser 用户对象
     */
    TbUser searchUserById(int userID);

    /*查询用户入职日期*/
    String searchUserHiredate(int userId);

    /*查询用户概要信息*/
    HashMap searchUserSummary(int userId);

    /*查询部门成员*/
    public ArrayList<HashMap> searchDeptMembers(String keyword);

    /*通过部门查询用户分组*/
    public ArrayList<HashMap> searchUserGroupByDept(String keyword);

    /*查询参加会议的成员*/
    public ArrayList<HashMap> searchMembers(List inParam);

    public List<HashMap> selectUserPhotoAndName(List param);

    public String searchMemberEmail(int id);

    public void insertUser(HashMap param);

    public HashMap searchUserInfo(int userId);

    public int updateUserInfo(HashMap param);

    public void deleteUserById(int id);

    public JSONObject searchUserContactList();

}
